home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / OCC.z / OCC
Encoding:
Text File  |  2002-10-03  |  12.0 KB  |  263 lines

  1.  
  2.  
  3.  
  4. OOOOCCCCCCCC((((1111))))                         SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss                         OOOOCCCCCCCC((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      OCC - old (_c_f_r_o_n_t-based) C++ compiler
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      OOOOCCCCCCCC [ option ] ... file ...
  13.      CCCCCCCC ----uuuusssseeee____ccccffffrrrroooonnnntttt [ option ] ... file ...
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      _O_C_C (capital OCC) invokes the _c_f_r_o_n_t translator to translate C++ source
  17.      code to C source code.  Its normal operation is then to invoke the C
  18.      compiler _c_c(_1) to generate an object file.
  19.  
  20.      _C_C will invoke _O_C_C if given the ----uuuusssseeee____ccccffffrrrroooonnnntttt option. In the subsequent
  21.      discussion below, _C_C refers to _O_C_C.
  22.  
  23.      _C_C takes arguments ending in ....CCCC, ....cccc, ....cccc++++++++, ....cccccccc, or ....ccccxxxxxxxx to be C++ source
  24.      programs.  Files with the suffixes ....aaaa ,,,, ....oooo, and ....ssss, are also accepted by
  25.      the _C_C command and passed to _c_c(_1).
  26.  
  27.      _C_C defines the same symbols for preprocessing as _c_c, except that
  28.      ________ccccpppplllluuuusssspppplllluuuussss and ____LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC____PPPPLLLLUUUUSSSS____PPPPLLLLUUUUSSSS are defined, and LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC and
  29.      ____LLLLAAAANNNNGGGGUUUUAAAAGGGGEEEE____CCCC are not.
  30.  
  31.      By default, _C_C invokes the ANSI preprocessor and generates ANSI C
  32.      intermediate code, just as if ----xxxxaaaannnnssssiiii were specified on the command line.
  33.      Note that when the ANSI preprocessor is used, the symbol ________AAAANNNNSSSSIIII____CCCCPPPPPPPP is
  34.      always defined.  Normally, programmers will not care about the
  35.      intermediate code, but they may want to do K&R-style preprocessing.  The
  36.      ----cccccccckkkkrrrr command line option makes this possible.
  37.      _C_C interprets the following options (see _l_d(1) for load-time options):
  38.  
  39.      ----cccc   Produce binaries only, suppressing the link phase.
  40.  
  41.      ----cccccccckkkkrrrr
  42.           Do K&R preprocessing and generate K&R C.
  43.  
  44.      ----xxxxaaaannnnssssiiii
  45.           Do ANSI preprocessing and generate ANSI C.  This is the default.  If
  46.           more than one of ----cccccccckkkkrrrr and ----xxxxaaaannnnssssiiii is specified, the one last on the
  47.           command line prevails.
  48.  
  49.      ----EEEE      Run only the preprocessor on the C++ source files and send the
  50.              result to standard output.
  51.  
  52.      ----FFFF      Run only the preprocessor and C++-to-C translator on the C++
  53.              source files.  The output is C source code suitable as a ....cccc file
  54.              for _c_c(_1).
  55.  
  56.  
  57.  
  58.  
  59.  
  60. Page 1                           Release 6.4
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. OOOOCCCCCCCC((((1111))))                         SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss                         OOOOCCCCCCCC((((1111))))
  68.  
  69.  
  70.  
  71.      ++++IIII      Save the intermediate C source file with suffix ........cccc in the
  72.              current directory.
  73.  
  74.      ++++LLLL      Output line numbers to intermediate file in #_l_i_n_e format.
  75.  
  76.      ----...._s_u_f_f_i_x
  77.              Instead of using standard output for the ----EEEE or ----FFFF options, place
  78.              the output from each C++ source file on a file with the
  79.              corresponding ._s_u_f_f_i_x.
  80.  
  81.      ----MMMMDDDDuuuuppppddddaaaatttteeee _f_i_l_e_n_a_m_e
  82.              While compiling, update _f_i_l_e_n_a_m_e to contain header, library, and
  83.              runtime _m_a_k_e(1) dependencies for _C_C's output file.
  84.  
  85.      ----aaaallllllll    Link in all of the objects from the archive following this flag.
  86.              Used in conjunction with the ----sssshhhhaaaarrrreeeedddd flag when creating a shared
  87.              object.
  88.  
  89.      ++++dddd      Suppress inline expansion of functions declared as inline.
  90.  
  91.      ----ddddoooollllllllaaaarrrr Allow the dollar sign ($) as a character in C++ identifiers.
  92.  
  93.      ----nnnn      Print commands generated by _C_C but do not execute them.
  94.  
  95.      ----nnnnooooffffiiiilllltttt Normally, _C_C pipes the error output from the link phase through
  96.              the filter /_u_s_r/_l_i_b/_c++/_c++_f_i_l_t so that the names of undefined
  97.              symbols will be translated from their internal, encoded
  98.              ("mangled") form to a more easily readable form:  for example,
  99.              foo__Fii will be translated to foo(int, int).  ----nnnnooooffffiiiilllltttt suppresses
  100.              this filtering operation.
  101.  
  102.      ----oooo _o_u_t_p_u_t
  103.              Name the final output file _o_u_t_p_u_t.
  104.  
  105.      ++++pppp      Disallow all anachronistic constructs.  Ordinarily the translator
  106.              warns about anachronistic constructs. Under ++++pppp (for "pure"), the
  107.              translator will not compile code containing anachronistic
  108.              constructs, such as "assignment to this."  See the _3._0 _C++
  109.              _P_r_o_d_u_c_t _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for a list of anachronisms.
  110.  
  111.      ----sssshhhhaaaarrrreeeedddd Create a dynamic shared object (DSO) as the final output file.
  112.  
  113.      ++++vvvv      print commands invoked by _C_C as they are executed (_v_e_r_b_o_s_e
  114.              output).  To print commands invoked by _c_c , use the ----vvvv option.
  115.  
  116.      ++++wwww      Warn about all questionable constructs.  Without the ++++wwww option,
  117.              the translator issues warnings only about constructs that are
  118.              almost certainly problems.
  119.  
  120.      ++++aaaa[[[[00001111]]]]  The translator can generate either ANSI C style or "Classic C"
  121.              (also known as K&R C) style declarations.  The ++++aaaa option
  122.              specifies which style of declarations to produce.  ++++aaaa0000 causes the
  123.  
  124.  
  125.  
  126. Page 2                           Release 6.4
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. OOOOCCCCCCCC((((1111))))                         SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss                         OOOOCCCCCCCC((((1111))))
  134.  
  135.  
  136.  
  137.              translator to produce "Classic C" style declarations.  ++++aaaa1111, the
  138.              default, causes the translator to produce ANSI C style
  139.              declarations.
  140.      The template instantiation system adds several options to CC.
  141.  
  142.      -ppppttttaaaa      Instantiate a whole template class rather than only those
  143.                members that are needed.
  144.  
  145.      -pppptttteeee_s_u_f_f_i_x
  146.                Use _s_u_f_f_i_x as the standard source suffix instead of ....cccc.  Only
  147.                the standard suffixes ....CCCC, ....cccc++++++++, ....cccccccc, and ....ccccxxxxxxxx are allowed.
  148.  
  149.      -ppppttttnnnn      Change the default instantiation behavior for one-file programs
  150.                to that of larger programs, where instantiation is broken out
  151.                separately and the repository updated.  One-file programs
  152.                normally have instantiation optimized so that instantiation is
  153.                done into the application object itself.
  154.  
  155.      -ppppttttrrrr_p_a_t_h_n_a_m_e
  156.                Specify a repository, with ./ptrepository the default.  If
  157.                several repositories are given, only the first is writable, and
  158.                the default repository is ignored unless explicitly named.
  159.  
  160.      -ppppttttssss      Split instantiations into separate object files, with one
  161.                function per object (including overloaded functions), and all
  162.                class static data and virtual functions grouped into a single
  163.                object.
  164.  
  165.      -ppppttttvvvv      Turn on verbose or verify mode, which displays each phase of
  166.                instantiation as it occurs, together with the elapsed time in
  167.                seconds that phase took to complete.  Use of this option is
  168.                recommended if you are new to templates.  With verbose mode,
  169.                the reason why an instantiation is done and the exact CC
  170.                command used are displayed.
  171.  
  172.      In release 3.0, ----ppppttttssss and ----ppppttttaaaa cannot be used together, that is, ----ppppttttssss can
  173.      only be used to split up _n_e_e_d_e_d functions rather than _a_l_l functions.
  174.  
  175.      The template instantiation mechanism uses the system utilities _s_o_r_t and
  176.      _g_r_e_p. It uses the search path to find these utilities, so if there is a
  177.      version of one of them in the search path ahead of the standard system
  178.      version, surprising errors may occur.
  179.  
  180.      ----DDDD, ----IIII, ----UUUU, ----PPPP, and ----MMMM are passed to the preprocessor (see _c_p_p(1)).  ----MMMM
  181.      also causes processing to stop after the preprocessor.  It is used to
  182.      generate _m_a_k_e dependencies, which are written to the standard output.
  183.      All other options are passed to the C compiler, except the ----jjjj option,
  184.      which is not supported by CC.
  185.  
  186.  
  187.  
  188.  
  189. Page 3                           Release 6.4
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196. OOOOCCCCCCCC((((1111))))                         SSSSiiiilllliiiiccccoooonnnn GGGGrrrraaaapppphhhhiiiiccccssss                         OOOOCCCCCCCC((((1111))))
  197.  
  198.  
  199.  
  200. FFFFIIIILLLLEEEESSSS
  201.      file.{C,c,c++,cc,cxx}
  202.                           C++ source files.
  203.      file..c              cfront output
  204.      file.o               object file
  205.      a.out                linked output
  206.      /usr/bin/CC          C++ driver
  207.      /usr/lib/cpp         C preprocessor
  208.      /usr/lib/c++/cfront  C++-to-C translator
  209.      /usr/bin/cc          C compiler
  210.      /usr/lib/c++/markc++ mark object files as C++
  211.      /usr/lib/c++/c++patch
  212.                           link global constructors and destructors
  213.      /usr/lib/libC.a      C++ library
  214.      /usr/lib/libc.a      standard C library; see Section (3) in the _U_N_I_X
  215.                           _S_y_s_t_e_m _V _P_r_o_g_r_a_m_m_e_r _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l
  216.      /usr/include/CC      standard directory for C++-specific header files.
  217. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  218.      Margaret Ellis and Bjarne Stroustrup, _T_h_e _A_n_n_o_t_a_t_e_d _C++ _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l,
  219.      Addison-Wesley 1990.  cc(1), ld(1), cpp(1), as(1), mips2(5).
  220. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  221.      The diagnostics produced by _C_C itself are intended to be self-
  222.      explanatory.  Occasional messages may be produced by _l_d(1).  No messages
  223.      should be produced by _c_c(1).
  224. NNNNOOOOTTTTEEEESSSS
  225.      _C_C always defines the symbol ________ccccpppplllluuuusssspppplllluuuussss to the preprocessor.
  226.      The  -j option is not supported by OCC. (It is supported by CC).   -O3
  227.      compilations require all the source files to be listed on a single
  228.      commandline.
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255. Page 4                           Release 6.4
  256.  
  257.  
  258.  
  259.